package testescomjunit;

/**
 * @author Leonardo
 */
public class Retangulo {
    private int base;
    private int altura;
    public static final String MSG_BASE_INVALIDA = "Valor da BASE inválido! Insira valor maior que 0.";
    public static final String MSG_ALTURA_INVALIDA = "Valor da ALTURA inválido! Insira valor maior que 0.";

    public Retangulo(int base, int altura) throws AppException{
        this.validaEntradas(base, altura);
        this.base = base;
        this.altura = altura;
    }    

    public int getBase() {
        return base;
    }

    public void setBase(int base) {
        this.base = base;
    }

    public int getAltura() {
        return altura;
    }

    public void setAltura(int altura) {
        this.altura = altura;
    }
    
    public int area(){
        return (this.base * this.altura);
    }
    
    public int perimetro(){
        return (this.base + this.altura) * 2;
    }

    private void validaEntradas(int base, int altura) throws AppException{
        this.validaBase(base);
        this.validaAltura(altura);
    }
    
    private void validaBase(int base) throws AppException{
        if(base <= 0)
            throw new AppException(MSG_BASE_INVALIDA);
    }    
    
    private void validaAltura(int altura) throws AppException{
        if(altura <= 0)
            throw new AppException(MSG_ALTURA_INVALIDA);
    }
}
